package com.zhongwang.mms.gen.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AccEquipmentTypeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AccEquipmentTypeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTypIdIsNull() {
            addCriterion("typ_id is null");
            return (Criteria) this;
        }

        public Criteria andTypIdIsNotNull() {
            addCriterion("typ_id is not null");
            return (Criteria) this;
        }

        public Criteria andTypIdEqualTo(Integer value) {
            addCriterion("typ_id =", value, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdNotEqualTo(Integer value) {
            addCriterion("typ_id <>", value, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdGreaterThan(Integer value) {
            addCriterion("typ_id >", value, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("typ_id >=", value, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdLessThan(Integer value) {
            addCriterion("typ_id <", value, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdLessThanOrEqualTo(Integer value) {
            addCriterion("typ_id <=", value, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdIn(List<Integer> values) {
            addCriterion("typ_id in", values, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdNotIn(List<Integer> values) {
            addCriterion("typ_id not in", values, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdBetween(Integer value1, Integer value2) {
            addCriterion("typ_id between", value1, value2, "typId");
            return (Criteria) this;
        }

        public Criteria andTypIdNotBetween(Integer value1, Integer value2) {
            addCriterion("typ_id not between", value1, value2, "typId");
            return (Criteria) this;
        }

        public Criteria andTypNameIsNull() {
            addCriterion("typ_name is null");
            return (Criteria) this;
        }

        public Criteria andTypNameIsNotNull() {
            addCriterion("typ_name is not null");
            return (Criteria) this;
        }

        public Criteria andTypNameEqualTo(String value) {
            addCriterion("typ_name =", value, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameNotEqualTo(String value) {
            addCriterion("typ_name <>", value, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameGreaterThan(String value) {
            addCriterion("typ_name >", value, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameGreaterThanOrEqualTo(String value) {
            addCriterion("typ_name >=", value, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameLessThan(String value) {
            addCriterion("typ_name <", value, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameLessThanOrEqualTo(String value) {
            addCriterion("typ_name <=", value, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameLike(String value) {
            addCriterion("typ_name like", value, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameNotLike(String value) {
            addCriterion("typ_name not like", value, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameIn(List<String> values) {
            addCriterion("typ_name in", values, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameNotIn(List<String> values) {
            addCriterion("typ_name not in", values, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameBetween(String value1, String value2) {
            addCriterion("typ_name between", value1, value2, "typName");
            return (Criteria) this;
        }

        public Criteria andTypNameNotBetween(String value1, String value2) {
            addCriterion("typ_name not between", value1, value2, "typName");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteIsNull() {
            addCriterion("typ_isdelete is null");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteIsNotNull() {
            addCriterion("typ_isdelete is not null");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteEqualTo(Integer value) {
            addCriterion("typ_isdelete =", value, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteNotEqualTo(Integer value) {
            addCriterion("typ_isdelete <>", value, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteGreaterThan(Integer value) {
            addCriterion("typ_isdelete >", value, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteGreaterThanOrEqualTo(Integer value) {
            addCriterion("typ_isdelete >=", value, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteLessThan(Integer value) {
            addCriterion("typ_isdelete <", value, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteLessThanOrEqualTo(Integer value) {
            addCriterion("typ_isdelete <=", value, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteIn(List<Integer> values) {
            addCriterion("typ_isdelete in", values, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteNotIn(List<Integer> values) {
            addCriterion("typ_isdelete not in", values, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteBetween(Integer value1, Integer value2) {
            addCriterion("typ_isdelete between", value1, value2, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypIsdeleteNotBetween(Integer value1, Integer value2) {
            addCriterion("typ_isdelete not between", value1, value2, "typIsdelete");
            return (Criteria) this;
        }

        public Criteria andTypSortNumIsNull() {
            addCriterion("typ_sort_num is null");
            return (Criteria) this;
        }

        public Criteria andTypSortNumIsNotNull() {
            addCriterion("typ_sort_num is not null");
            return (Criteria) this;
        }

        public Criteria andTypSortNumEqualTo(Integer value) {
            addCriterion("typ_sort_num =", value, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumNotEqualTo(Integer value) {
            addCriterion("typ_sort_num <>", value, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumGreaterThan(Integer value) {
            addCriterion("typ_sort_num >", value, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("typ_sort_num >=", value, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumLessThan(Integer value) {
            addCriterion("typ_sort_num <", value, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumLessThanOrEqualTo(Integer value) {
            addCriterion("typ_sort_num <=", value, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumIn(List<Integer> values) {
            addCriterion("typ_sort_num in", values, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumNotIn(List<Integer> values) {
            addCriterion("typ_sort_num not in", values, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumBetween(Integer value1, Integer value2) {
            addCriterion("typ_sort_num between", value1, value2, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypSortNumNotBetween(Integer value1, Integer value2) {
            addCriterion("typ_sort_num not between", value1, value2, "typSortNum");
            return (Criteria) this;
        }

        public Criteria andTypCreUserIsNull() {
            addCriterion("typ_cre_user is null");
            return (Criteria) this;
        }

        public Criteria andTypCreUserIsNotNull() {
            addCriterion("typ_cre_user is not null");
            return (Criteria) this;
        }

        public Criteria andTypCreUserEqualTo(String value) {
            addCriterion("typ_cre_user =", value, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserNotEqualTo(String value) {
            addCriterion("typ_cre_user <>", value, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserGreaterThan(String value) {
            addCriterion("typ_cre_user >", value, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserGreaterThanOrEqualTo(String value) {
            addCriterion("typ_cre_user >=", value, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserLessThan(String value) {
            addCriterion("typ_cre_user <", value, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserLessThanOrEqualTo(String value) {
            addCriterion("typ_cre_user <=", value, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserLike(String value) {
            addCriterion("typ_cre_user like", value, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserNotLike(String value) {
            addCriterion("typ_cre_user not like", value, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserIn(List<String> values) {
            addCriterion("typ_cre_user in", values, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserNotIn(List<String> values) {
            addCriterion("typ_cre_user not in", values, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserBetween(String value1, String value2) {
            addCriterion("typ_cre_user between", value1, value2, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreUserNotBetween(String value1, String value2) {
            addCriterion("typ_cre_user not between", value1, value2, "typCreUser");
            return (Criteria) this;
        }

        public Criteria andTypCreDateIsNull() {
            addCriterion("typ_cre_date is null");
            return (Criteria) this;
        }

        public Criteria andTypCreDateIsNotNull() {
            addCriterion("typ_cre_date is not null");
            return (Criteria) this;
        }

        public Criteria andTypCreDateEqualTo(Date value) {
            addCriterion("typ_cre_date =", value, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateNotEqualTo(Date value) {
            addCriterion("typ_cre_date <>", value, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateGreaterThan(Date value) {
            addCriterion("typ_cre_date >", value, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateGreaterThanOrEqualTo(Date value) {
            addCriterion("typ_cre_date >=", value, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateLessThan(Date value) {
            addCriterion("typ_cre_date <", value, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateLessThanOrEqualTo(Date value) {
            addCriterion("typ_cre_date <=", value, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateIn(List<Date> values) {
            addCriterion("typ_cre_date in", values, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateNotIn(List<Date> values) {
            addCriterion("typ_cre_date not in", values, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateBetween(Date value1, Date value2) {
            addCriterion("typ_cre_date between", value1, value2, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypCreDateNotBetween(Date value1, Date value2) {
            addCriterion("typ_cre_date not between", value1, value2, "typCreDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserIsNull() {
            addCriterion("typ_upd_user is null");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserIsNotNull() {
            addCriterion("typ_upd_user is not null");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserEqualTo(String value) {
            addCriterion("typ_upd_user =", value, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserNotEqualTo(String value) {
            addCriterion("typ_upd_user <>", value, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserGreaterThan(String value) {
            addCriterion("typ_upd_user >", value, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserGreaterThanOrEqualTo(String value) {
            addCriterion("typ_upd_user >=", value, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserLessThan(String value) {
            addCriterion("typ_upd_user <", value, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserLessThanOrEqualTo(String value) {
            addCriterion("typ_upd_user <=", value, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserLike(String value) {
            addCriterion("typ_upd_user like", value, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserNotLike(String value) {
            addCriterion("typ_upd_user not like", value, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserIn(List<String> values) {
            addCriterion("typ_upd_user in", values, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserNotIn(List<String> values) {
            addCriterion("typ_upd_user not in", values, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserBetween(String value1, String value2) {
            addCriterion("typ_upd_user between", value1, value2, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdUserNotBetween(String value1, String value2) {
            addCriterion("typ_upd_user not between", value1, value2, "typUpdUser");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateIsNull() {
            addCriterion("typ_upd_date is null");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateIsNotNull() {
            addCriterion("typ_upd_date is not null");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateEqualTo(Date value) {
            addCriterion("typ_upd_date =", value, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateNotEqualTo(Date value) {
            addCriterion("typ_upd_date <>", value, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateGreaterThan(Date value) {
            addCriterion("typ_upd_date >", value, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateGreaterThanOrEqualTo(Date value) {
            addCriterion("typ_upd_date >=", value, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateLessThan(Date value) {
            addCriterion("typ_upd_date <", value, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateLessThanOrEqualTo(Date value) {
            addCriterion("typ_upd_date <=", value, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateIn(List<Date> values) {
            addCriterion("typ_upd_date in", values, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateNotIn(List<Date> values) {
            addCriterion("typ_upd_date not in", values, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateBetween(Date value1, Date value2) {
            addCriterion("typ_upd_date between", value1, value2, "typUpdDate");
            return (Criteria) this;
        }

        public Criteria andTypUpdDateNotBetween(Date value1, Date value2) {
            addCriterion("typ_upd_date not between", value1, value2, "typUpdDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}